Telegram Group Search
😎 А если бы вы не стали разработчиком, то кем хотели бы быть?

Давайте пофантазируем. Пишите свои варианты в комментарии👇
Избегание ловушек при использовании Doctrine ORM: Влияние type hint'a

Описывается случай, когда тип, указанный в определении колонки, не совпадает с типом свойства в сущности, но Doctrine не выдаёт предупреждения об этом.

Для демонстрации проблемы представлен пример сущности Book, в которой тип свойства price — float, а тип колонки в базе данных — decimal. В таком случае, при использовании Doctrine, при изменении свойства price не всегда корректно определяется факт изменения значения, что может приводить к неожиданным запросам на обновление в базе данных.

Статья объясняет механизм работы Doctrine, особенно уделяя внимание классу UnitOfWork, который отслеживает изменения сущностей. Проблема возникает из-за того, что Doctrine использует операцию сравнения по идентичности при определении изменилось ли значение свойства. В результате, даже незначительные изменения могут привести к неожиданным запросам на обновление.

Для избежания таких проблем предлагается несколько подходов, таких как синхронизация типов колонок и свойств сущностей, или допуск автоматического вывода типов на основе другого.
🎭 7 типов программистов, которых вы встретите на собеседовании

Осторожно! Данная статья носит шуточный характер и не преследует цели обидеть кого-либо. Все ситуации выдуманы, а совпадения — случайны.

🔗 Читать статью
🔗 Зеркало
🥑 Подборка лучших статей «Библиотеки программиста» за апрель: сохраняй в заметки, чтобы не пропустить #самыйсок

🐛 7 признаков неопытного программиста
🐍📖 ТОП-10 книг по Python для начинающих программистов в 2024 году
✍️ Как написать отличную документацию
🐍🛠️ 32 инструмента для Python, которые помогут писать профессиональный код
🤖👾 Как злоумышленники взламывают LLM: 7 ключевых стратегий
🤖✍️ Как работают LLM: простое объяснение через аналогию с кулинарией
⚙️ Названия веток и комментарии к коммитам в Git: лучшие практики
🙅‍♂️ Дискриминация на работе: в чем проявляется и что делать, если вы с ней столкнулись
🧑‍💻 Как я входил в IT: опыт подписчиков «Библиотеки программиста»
🛠️ Что такое прогрессивные веб-приложения
🌐 Использование глобальной контрольной группы на практике: тонкости, нюансы, подводные камни
🤖🛠️ 4 полезных инструмента для работы с ИИ: RAGFlow, The Pipe, UFO и SWE-agent
▶️ Как оживить фронтенд: 8 лучших JS-библиотек для анимации
🤺 Искусство оскорблять: как поставить коллегу на место и отбить желание работать над проектом
🎸 10 причин, по которым стоит выбрать Django вместо FastAPI
🐍 10 основных ошибок начинающих Python-разработчиков
🏃 🏃 Самоучитель по Go для начинающих. Часть 11. Обработка ошибок. Паника. Восстановление. Логирование
🤖💣 ИИ-ассистенты разработчика: скрытая угроза
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году
🤖🔢 Математические основы генеративных нейронных сетей: что нужно знать для их изучения
🗿🔨 Как мы разбили монолит на маленькие кусочки и что из этого вышло
📖 ТОП-7 книг по C# для начинающих разработчиков в 2024 году
⚛️💥 React 19 уничтожит все фреймворки
🗺️💼 Из Москвы в Дублин: опыт российского разработчика из Amazon
🐍🤔 «Задумчивый» код: временная сложность операций со структурами данных в Python
🤖🖼️ Как работают визуальные трансформеры: магия превращения пикселей в знания
🐰 Как решить проблему высокой связанности сервисов с помощью событийно-ориентированной архитектуры и RabbitMQ
Машинное обучение в PHP

Это всесторонний обзор Transformers PHP, библиотеки, созданной для предоставления мощных возможностей обработки текста и изображений разработчикам на PHP. В нем рассматриваются различные аспекты библиотеки, включая ее особенности, архитектуру, интеграцию с ONNX Runtime, и примеры использования для задач, таких как анализ настроений и обработка изображений в текст.
Вы можете добавить столбец в таблицу базы данных в случае, если он отсутствует, и удалить его, если он уже присутствует. Для этого существуют следующие методы:

👉 whenTableDoesntHaveColumn

👉 whenTableHasColumn
Can I PHP?

Это расширение позволяет проверить, доступна ли определенная функция или метод в разных версиях PHP.
Может ли абстрактный класс содержать частный(private) метод?

Да, в абстрактном классе можно иметь частный конкретный метод.

Этот частный метод будет отображаться ТОЛЬКО этому абстрактному классу. Это означает, что он должен будет использоваться каким-либо другим конкретным методом в абстрактном классе.

Дочерние классы не смогут вызвать его напрямую.

#вопросы_с_собеседований
Введение в Swoole (и асинхронный PHP)

Статья обсуждает опыт перехода от синхронного PHP к использованию Swoole — библиотеки, которая позволяет внедрить асинхронные и параллельные возможности программирования в PHP. Она представляет собой повествование в виде диалога, иллюстрируя плюсы и минусы работы с Swoole через серию «хороших» и «плохих» сценариев.
Как разобраться в сложных логических операциях в PHP?

Многие разработчики считают, что логические операции — это настолько примитивные вещи, что в них можно полностью разобраться за 5 минут. Так ли это на самом деле? Узнайте на открытом практическом уроке от OTUS, где мы обсудим:

1. какое отношение к программированию имеют классические задачи про рыцарей и лжецов;
2. за счёт каких полезных приёмов можно упростить свой код;
3. как с помощью новых знаний «щёлкать» алгоритмические задачи на PHP.

Спикер Дмитрий Кириллов — соучредитель и технический директор 1С-Старт, опытный разработчик.

Встречаемся 14 мая в 20:00 мск в рамках курса «PHP Developer. Professional». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!

👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://otus.pw/HPuJ/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru Erid 2VtzqvHc5sp
Орбита: self-hosted блог с подписками

Автор представляет пет-проект под названием «Орбита» — это платформа для публикации контента с возможностью монетизации. В отличие от аналогичных сервисов, «Орбита» предоставляет полный контроль над функционалом, так как работает на собственном сервере и является Open Source проектом.

Проект предоставляет широкий функционал, включая создание заметок с использованием редактора Editor.js, добавление изображений, кода, видео из различных источников, а также загрузку и обработку собственного видеоконтента. Он поддерживает различные методы доступа к контенту, включая подписку, разовую покупку или предоставление бесплатного доступа.

«Орбита» также предоставляет возможность интеграции с различными платежными системами, создание статических страниц, управление контентом и пользователями через административный интерфейс, а также реализует функции реакций, комментариев и email-уведомлений. Важным аспектом является наличие темного режима.

Проект разработан с использованием Docker, фронтенд написан на Vue 3 (Nuxt), а бэкенд на PHP 8.1 (Slim, Eloquent и Phinx). Планируется дальнейшее развитие проекта, включая улучшение функционала и поиск реальных проектов для его применения.
Запуск блога Wordpress вместе с приложением Laravel

Здесь показана интеграция блога WordPress в существующее приложение Laravel для различных экспериментов, таких как микро-проекты SaaS или сайты, сосредоточенные на SEO. Автор описывает несколько соображений и вариантов для внедрения блога, включая создание пользовательского решения, использование Statamic или интеграцию WordPress.

В конечном итоге автор выбирает использование WordPress наряду с Laravel, несмотря на некоторые проблемы с маршрутизацией и интеграцией. Он предлагает решение, в котором WordPress выступает в качестве CMS без головы, с его данными, которые извлекаются в приложение Laravel. Настройка включает установку WordPress в отдельный каталог и настройку его для совместного использования той же базы данных, что и приложение Laravel.

Для пользователей PostgreSQL в статье также предоставляются инструкции по интеграции WordPress с PostgreSQL вместо MySQL. Кроме того, обсуждается настройка переменных среды для конфигурации WordPress, обеспечивая гибкость и безопасность.
2024/05/14 09:33:42
Back to Top
HTML Embed Code: